import request from '@/utils/request'

/**
 * 上传文件
 * @param {File} file - 要上传的文件
 * @param {String} type - 文件类型，默认为image
 * @returns {Promise}
 */
export function uploadFile(file, type = 'image') {
  const formData = new FormData()
  formData.append('file', file)
  formData.append('type', type)
  
  return request({
    url: '/file/upload',
    method: 'post',
    data: formData,
    headers: {
      'Content-Type': 'multipart/form-data'
    }
  })
}

/**
 * 获取完整的图片URL
 * @param {String} path - 图片相对路径
 * @returns {String} - 完整URL
 */
export function getImageUrl(path) {
  if (!path) return ''
  // 已经是完整URL，直接返回
  if (path.startsWith('http://') || path.startsWith('https://')) {
    return path
  }
  
  // 确保路径以/开头
  if (!path.startsWith('/')) {
    path = '/' + path
  }
  
  // 拼接服务器地址，这里使用与后端服务器相同的地址
  return `http://localhost:80/api${path}`
}

/**
 * 删除文件
 * @param {String} url - 文件URL
 * @returns {Promise}
 */
export function deleteFile(url) {
  return request({
    url: '/file/delete',
    method: 'delete',
    params: { url }
  })
} 